package org.fqh.utils;

import java.security.MessageDigest;

/**
* @author fqh 
* @version 创建时间：2018年3月20日 下午4:26:36
* 类说明 加密工具 ,用于密码加密等 
*/
public class EncryptUtils {
		

	/**
     * 生成32位md5码
     * @param password
     * @return
     */
    public static String md5Password(String password) {

    	  String md5 = "";  
          try {  
              MessageDigest md = MessageDigest.getInstance("MD5");  // 创建一个md5算法对象  
              byte[] messageByte = password.getBytes("UTF-8");  
              byte[] md5Byte = md.digest(messageByte);              // 获得MD5字节数组,16*8=128位  
              md5 = bytesToHex(md5Byte);                            // 转换为16进制字符串  
          } catch (Exception e) {  
              e.printStackTrace();  
          }  
          return md5;  

    }
    
    // 二进制转十六进制  
   public static String bytesToHex(byte[] bytes) {  
       StringBuffer hexStr = new StringBuffer();  
       int num;  
       for (int i = 0; i < bytes.length; i++) {  
           num = bytes[i];  
            if(num < 0) {  
                num += 256;  
           }  
           if(num < 16){  
               hexStr.append("0");  
           }  
           hexStr.append(Integer.toHexString(num));  
       }  
       return hexStr.toString().toUpperCase();  
   }  
}
